View Javadoc

1   package org.devaki.nextobjects.workspace.models;
2   /*
3    *  nextobjects Copyright (C) 2001-2005 Emmanuel Florent
4    *  This program is free software; you can redistribute it and/or modify
5    *  it under the terms of the GNU General Public License as published by the
6    *  Free Software Foundation; either version 2 of the License, or (at your
7    *  option) any later version.
8    *  This program is distributed in the hope that it will
9    *  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
10   *  of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   *  PURPOSE. See the GNU General Public License for more details.
12   *  You should have received a copy of the GNU General Public License along
13   *  with this program; if not, write to the Free Software Foundation, Inc., 59
14   *  Temple Place - Suite 330, Boston, MA 02111-1307, USA.
15   */
16  import java.io.Serializable;
17  import javax.swing.JPanel;
18  import java.util.Vector;
19  import java.io.File;
20  import org.apache.maven.project.Build;
21  import org.apache.maven.project.UnitTest;
22  import org.devaki.nextobjects.NextObjects;
23  import org.devaki.nextobjects.ui.components.CustomTreeNode;
24  import org.devaki.nextobjects.util.ModelMan;
25  import org.devaki.nextobjects.util.NORedoLog;
26  import org.devaki.nextobjects.workspace.models.objects.InheritanceLink;
27  import org.devaki.nextobjects.workspace.models.objects.BaseObject;
28  import org.devaki.nextobjects.workspace.models.graphics.BaseModelView;
29  /***
30   *  This is the parent class for most of the models objects
31   *
32   * @author     <a href="mailto:eflorent@devaki.org">Emmanuel Florent</a>
33   *
34   * @see        http://maven.apache.org/reference/project-descriptor.html
35   * @see        http://db.apache.org/torque/generator/schema-reference.html
36   * @see        http://db.apache.org/torque/generator/database.dtd.txt
37   */
38  public abstract class BaseModel implements Serializable
39  {
40      /***  The human readable name for the object */
41      private String name = "";
42      /***  The code for this object */
43      private String code = "";
44      /***  The URL to the organization's home page. */
45      private String organizationUrl = "";
46      /***  The full name of the organization */
47      private String organizationName = "";
48      /***
49       *  The URL to the organization's logo image. This can be an URL relative to
50       *  the base directory of the generated web site, (e.g. /images/org-logo.png
51       *  ) or an absolute URL . This value is used
52       *  when generating the project documentation.
53       */
54      private String organizationLogo = "";
55      /***  The project url */
56      private String projectURL = "";
57      /***  The description */
58      private String description = "";
59      /***  projects notes */
60      private String notes = "";
61      /***  Inheritance links */
62      private Vector inheritanceLinks = new Vector();
63      /***  labels */
64      private Vector labels = new Vector();
65      /***  Dependencies (maven's) */
66      private transient Vector dependencies = new Vector();
67      /***  Developers */
68      private transient Vector developers = new Vector();
69      /***  The application properties */
70      private transient Vector properties = new Vector();
71      /***Torque's DB type */
72      private int dbType = 1;
73      /***  Database host */
74      private String databaseHost = "127.0.0.1";
75      /***  Database create url */
76      private String createDatabaseUrl = "jdbc:postgresql://127.0.0.1/template1";
77      /***  Database build URL */
78      private String buildDatabaseUrl = "jdbc:postgresql://127.0.0.1/dummydb";
79      /***  Database schema */
80      private String schema = "public";
81      /***  database username */
82      private String databaseUser = "";
83      /***  database */
84      private String databasePassword = "";
85      /***  database jdbc driver */
86      private String databaseDriver = "org.postgresql.Driver";
87      /***  model's wide default id method */
88      private String defaultIdMethod = "none";
89      /***  Torque's heavy indexing */
90      private boolean heavyIndexing = false;
91      /**</package-summary/html">The package name *//package-summary.html">em>*  The package name */
92      privateong> String packageName = "org.devaki.nomodels.om";
93      /***  The base class */
94      private String baseClass = "org.apache.torque.om.BaseObject";
95      /***  the base peer any class that inherits org.apache.util.BasePeer */
96      private String basePeer = "org.apache.util.BasePeer";
97      /***  Default java naming method */
98      private String defaultJavaNamingMethod = "underscore";
99      /***  The default java type */
100     private String defaultJavaType = "primitive";
101     /*
102      *  -----
103      */
104     /***
105      *  members i picked from maven project descriptor.
106      *  http://maven.apache.org/reference/project-descriptor.html The CVS
107      *  repositoryConnection
108      */
109     private String repositoryConnection = "scm:cvs:<provider-parameters>";
110     /***  The CVS repositoryUrl */
111     private String repositoryUrl = "scm:cvs:<provider-parameters>";
112     /***
113      *  " The Optional. The directory on the web server where the public web
114      *  site for this project resides. This is used when the web site is
115      *  deployed ."
116      */
117     private String distributionRepository = "";
118     /***
119      *  Optional. The directory on the web server where the public web site for
120      *  this project resides. This is used when the web site is deployed .
121      */
122     private String siteDirectory = "";
123     /***
124      *  Optional. The hostname of the web server that hosts the project's web
125      *  site. This is used when the web site is deployed .
126      */
127     private String siteAddress = "";
128     /***  Optional. The URL to the project's issue tracking system. */
129     private String issueTrackingUrl = "";
130     /***
131      *  The short name of the project group. This value is used to group all
132      *  jars for a project in one directory
133      */
134     private String groupId = "org.devaki";
135     /***
136      *  The current version of the project. This value is used when naming jars
137      *  and distribution files .
138      */
139     private String currentVersion = "0.1";
140     /***  The short description of the project. */
141     private String shortDescription = "";
142     /***
143      *  The year of the project's inception specified with 4 digits. This value
144      *  is used when generating JavaDoc copyright notices.
145      */
146     private String inceptionYear = "";
147     /***  Project logo url */
148     private String logo = "";
149     /***  Project logo url */
150     private String parentProject = "";
151     /***  alternate project id, is gumpRepositoryId in project.xml */
152     private String alternateProjectId = "";
153     /***  Contributors */
154     private transient Vector contributors = new Vector();
155     /***  Mailing Lists */
156     private transient Vector mailingLists = new Vector();
157     /***  Builds */
158     private transient Build build = new Build();
159     /***  Licenses */
160     private transient Vector licenses = new Vector();
161     /***  Project Properties */
162     private transient Vector projectProperties = new Vector();
163     /***  file for save this model definitition */
164     private String fileForSave = null;
165     /***  The local directory for this project. */
166     private String localDirectory = null;
167     /***  the model have been saved */
168     private boolean isSaved = false;
169     /***  The model is verified */
170     private boolean isVerified = false;
171     /***  the resulting tree node */
172     private transient CustomTreeNode dynamicTreeNode;
173     /***  the panel to paint */
174     private transient JPanel panel;
175     /***  the model counter */
176     private static int countInstance;
177     /***  The redo log */
178     private transient NORedoLog redoLog;
179     /***
180      *  Construct a standard NOModel
181      *
182      * @param  pName  the model name
183      */
184     public BaseModel(final String pName)
185     {
186         this.name = pName;
187         this.code = this.name.toUpperCase().replace(' ', '_');
188         countInstance++;
189         redoLog = new NORedoLog();
190         //Any model should have unit test
191         build.setUnitTest(new UnitTest());
192     }
193     /***
194      *  return the objects of the model
195      *
196      * @return    array of BaseObject
197      */
198     public abstract BaseObject[] getModelObjects();
199     /***
200      *  Return the best possible filename for save
201      *
202      * @return    the best filename
203      */
204     public abstract String getBestFilename();
205     /***
206      *  Get the model view
207      *
208      * @return    model view
209      */
210     public abstract BaseModelView getModelView();
211     /***
212      *  Returns a String representation of the NOModel
213      *
214      * @return    the model name
215      */
216     public final String toString()
217     {
218         return this.name;
219     }
220     /***
221      *  Set the node associated
222      *
223      * @param  pNode  the node
224      */
225     public final void setDynamicTreeNode(final CustomTreeNode pNode)
226     {
227         this.dynamicTreeNode = pNode;
228     }
229     /***
230      *  Set the panel associated
231      *
232      * @param  pPanel  the panel
233      */
234     public final  void setPanel(final JPanel pPanel)
235     {
236         this.panel = pPanel;
237     }
238     /***
239      *  Set the code of the model
240      *
241      * @param  pCode  the new code
242      */
243     public final  void setId(final String pCode)
244     {
245         this.code = pCode;
246     }
247     /***
248      *  Set the notes of the project
249      *
250      * @param  pNotes  some notes on the project
251      */
252     public final void setNotes(final String pNotes)
253     {
254         this.notes = pNotes;
255     }
256     /***
257      *  Set the company to which the project depends on
258      *
259      * @param  pCompany  the author company
260      */
261     public final void setCompany(final String pCompany)
262     {
263         this.organizationName = pCompany;
264     }
265     /***
266      *  Set the HTTP address of the project
267      *
268      * @param  pProjectURL  the project url
269      */
270     public final  void setProjectURL(final String pProjectURL)
271     {
272         this.projectURL = pProjectURL;
273     }
274     /***
275      *  Set the name of the java package (Object-Model)
276      *
277      * @param  pPackageName  the package name
278      */
279     public final void setPackageName(final String pPackageName)
280     {
281         this.packageName = pPackageName;
282     }
283     /***
284      *  Set the name of the base class (Object-Model)
285      *
286      * @param  pBaseClass  the base class
287      */
288     public final  void setBaseClass(final String pBaseClass)
289     {
290         this.baseClass = pBaseClass;
291     }
292     /***
293      *  Set the name of the base peer (Object-Model)
294      *
295      * @param  pBasePeer  the basePeer
296      */
297     public final void setBasePeer(final String pBasePeer)
298     {
299         this.basePeer = pBasePeer;
300     }
301     /***
302      *  Determines how table or column names, from the name attribute of the
303      *  table or column element, are converted to a Java class or method name
304      *  respectively when creating the OM Java objects
305      *
306      * @param  pMethod  the default java naming method
307      */
308     public final void setDefaultJavaNamingMethod(final String pMethod)
309     {
310         if (pMethod.equals("nochange")
311             || pMethod.equals("javaname"))
312         {
313             this.defaultJavaNamingMethod = pMethod;
314         }
315         else
316         {
317             this.defaultJavaNamingMethod = "underscore";
318         }
319     }
320     /***
321      *  Default type of columns in the database
322      *
323      * @param  pDefaultJavaType  the default java type
324      */
325     public final  void setDefaultJavaType(final String pDefaultJavaType)
326     {
327         if (pDefaultJavaType.equals("object"))
328         {
329             this.defaultJavaType = pDefaultJavaType;
330         }
331         else
332         {
333             this.defaultJavaType = "primitive";
334         }
335     }
336     /***
337      *  Set the file path to save
338      *
339      * @param  pFileForSave  the file for save
340      */
341     public final void setFileForSave(final String pFileForSave)
342     {
343         this.fileForSave = pFileForSave;
344         this.setLocalDirectory(new File(pFileForSave).getPath());
345     }
346     /***
347      *  Set the database type
348      *
349      * @param  pDbType  the db type
350      */
351     public final void setDbType(final int pDbType)
352     {
353         this.dbType = pDbType;
354     }
355     /***
356      *  Set the URL that Torque can use to create and drop databases
357      *
358      * @param  pCreateDatabaseUrl  the create database url
359      */
360     public final void setCreateDatabaseUrl(final String pCreateDatabaseUrl)
361     {
362         this.createDatabaseUrl = pCreateDatabaseUrl;
363     }
364     /***
365      *  Set The URL that will be used to access your database. Torque can use
366      *  this to create your tables
367      *
368      * @param  pBuildDatabaseUrl  the build database url
369      */
370     public final  void setBuildDatabaseUrl(final String pBuildDatabaseUrl)
371     {
372         this.buildDatabaseUrl = pBuildDatabaseUrl;
373     }
374     /***
375      *  Set The schema that will be used to access your database.
376      *
377      * @param  pSchema  the schema
378      */
379     public final void setSchema(final String pSchema)
380     {
381         this.schema = pSchema;
382     }
383     /***
384      *  Set the administrative username that has sufficient privileges to create
385      *  and drop databases and tables
386      *
387      * @param  pDatabaseUser  the database user
388      */
389     public final void setDatabaseUser(final String pDatabaseUser)
390     {
391         this.databaseUser = pDatabaseUser;
392     }
393     /***
394      *  Set the administrative password for the supplied username
395      *
396      * @param  pDatabasePassword  the database password
397      */
398     public final void setDatabasePassword(final String pDatabasePassword)
399     {
400         this.databasePassword = pDatabasePassword;
401     }
402     /***
403      *  Set the JDBC Driver to use for Test Connect
404      *
405      * @param  pDatabaseDriver  the database driver
406      */
407     public final void setDatabaseDriver(final String pDatabaseDriver)
408     {
409         this.databaseDriver = pDatabaseDriver;
410     }
411     /***
412      *  Set the hostname or IP address of your database server
413      *
414      * @param  pDatabaseHost  the database host
415      */
416     public final void setDatabaseHost(final String pDatabaseHost)
417     {
418         this.databaseHost = pDatabaseHost;
419     }
420     /***
421      *  Set how will the primary keys be created
422      *
423      * @param  pDefaultIdMethod  the default id method
424      */
425     public final  void setDefaultIdMethod(final String pDefaultIdMethod)
426     {
427         if (pDefaultIdMethod.equals("idbroker")
428             || pDefaultIdMethod.equals("native")
429             || pDefaultIdMethod.equals("autoincrement"))
430         {
431             this.defaultIdMethod = pDefaultIdMethod;
432         }
433         else
434         {
435             this.defaultIdMethod = "native";
436         }
437     }
438     /***
439      *  -
440      *
441      * @param  pHeavyIndexing  heavyindexing
442      */
443     public final void setHeavyIndexing(final boolean pHeavyIndexing)
444     {
445         this.heavyIndexing = pHeavyIndexing;
446     }
447     /***
448      *  Set a description
449      *
450      * @param  pDescription  the description
451      */
452     public final void setDescription(final String pDescription)
453     {
454         this.description = pDescription;
455     }
456     /***
457      *  Set the name of the model
458      *
459      * @param  pName  the new name
460      */
461     public final void setName(final String pName)
462     {
463         this.name = pName;
464         NextObjects.getReference().getNOWorkspace().setTitleAt(
465             ModelMan.getModels().size() - 1,
466             pName);
467     }
468     /***
469      *  Get the associated node
470      *
471      * @return    the node
472      */
473     public final  CustomTreeNode getDynamicTreeNode()
474     {
475         return this.dynamicTreeNode;
476     }
477     /***
478      *  Get the panel associated
479      *
480      * @return    the panel
481      */
482     public final JPanel getPanel()
483     {
484         return this.panel;
485     }
486     /***
487      *  Get the code of the model
488      *
489      * @return    the code
490      */
491     public final String getId()
492     {
493         return this.code;
494     }
495     /***
496      *  Get the notes of the model
497      *
498      * @return    the notes
499      */
500     public final String getNotes()
501     {
502         return this.notes;
503     }
504     /***
505      *  Get the email of the author of the model
506      *
507      * @return    the author email
508      */
509     public final String getAuthorEmail()
510     {
511         return this.organizationUrl;
512     }
513     /***
514      *  Get the company to which the project depends on
515      *
516      * @return    the company name
517      */
518     public final String getCompany()
519     {
520         return this.organizationName;
521     }
522     /***
523      *  Get the project url
524      *
525      * @return    the project url
526      */
527     public final String getProjectURL()
528     {
529         return this.projectURL;
530     }
531     /***
532      *  Get the name of the java package (Object-Model)
533      *
534      * @return    the package name
535      */
536     public final String getPackageName()
537     {
538         return</strong> this.packageName;
539     }
540     /***
541      *  Get the name of the base class (Object-Model)
542      *
543      * @return    the base class
544      */
545     public final String getBaseClass()
546     {
547         return this.baseClass;
548     }
549     /***
550      *  Get the name of the base peer (Object-Model)
551      *
552      * @return    the base peer
553      */
554     public final String getBasePeer()
555     {
556         return this.basePeer;
557     }
558     /***
559      *  Get the default java naming method
560      *
561      * @return    the default java naming method
562      */
563     public final String getDefaultJavaNamingMethod()
564     {
565         return this.defaultJavaNamingMethod;
566     }
567     /***
568      *  Default type of columns in the database
569      *
570      * @return    the default java type
571      */
572     public final String getDefaultJavaType()
573     {
574         return this.defaultJavaType;
575     }
576     /***
577      *  Get the file path to save
578      *
579      * @return    the file for save
580      */
581     public final String getFileForSave()
582     {
583         return this.fileForSave;
584     }
585     /***
586      *  Get the database type
587      *
588      * @return    db type
589      */
590     public final int getDbType()
591     {
592         return this.dbType;
593     }
594     /***
595      *  Get the URL that Torque can use to create and drop databases
596      *
597      * @return    the url
598      */
599     public final String getCreateDatabaseUrl()
600     {
601         return this.createDatabaseUrl;
602     }
603     /***
604      *  Get The URL that will be used to access your database. Torque can use
605      *  this to create your tables
606      *
607      * @return    the url
608      */
609     public final String getBuildDatabaseUrl()
610     {
611         return this.buildDatabaseUrl;
612     }
613     /***
614      *  Get the schema that Torque can use to create and drop databases
615      *
616      * @return    the database schema
617      */
618     public final String getSchema()
619     {
620         return this.schema;
621     }
622     /***
623      *  Get the administrative username that has sufficient privileges to create
624      *  and drop databases and tables
625      *
626      * @return    the database user
627      */
628     public final String getDatabaseUser()
629     {
630         return this.databaseUser;
631     }
632     /***
633      *  Get the administrative password for the supplied username
634      *
635      * @return    the database password
636      */
637     public final String getDatabasePassword()
638     {
639         return this.databasePassword;
640     }
641     /***
642      *  Get the DatabseDriver to Test Connect
643      *
644      * @return    the database driver
645      */
646     public final String getDatabaseDriver()
647     {
648         return this.databaseDriver;
649     }
650     /***
651      *  Get the hostname or IP address of your database server
652      *
653      * @return    the database host
654      */
655     public final String getDatabaseHost()
656     {
657         return this.databaseHost;
658     }
659     /***
660      *  Get how will the primary keys be created
661      *
662      * @return    the default id method
663      */
664     public final String getDefaultIdMethod()
665     {
666         return this.defaultIdMethod;
667     }
668     /***
669      *  Heavy indexing
670      *
671      * @return    use it
672      */
673     public final boolean getHeavyIndexing()
674     {
675         return this.heavyIndexing;
676     }
677     /***
678      *  Get the description
679      *
680      * @return    the description
681      */
682     public final String getDescription()
683     {
684         return this.description;
685     }
686     /***
687      *  Get the name of the model
688      *
689      * @return    the name
690      */
691     public final String getName()
692     {
693         return this.name;
694     }
695     /***
696      *  Return the inheritance links of the model
697      *
698      * @return    the links
699      */
700     public final Vector getInheritanceLinks()
701     {
702         return this.inheritanceLinks;
703     }
704     /***
705      *  Return an inheritance links of the model
706      *
707      * @param  i  index
708      * @return    the link
709      */
710     public final InheritanceLink getInheritanceLinkAt(final int i)
711     {
712         return (InheritanceLink) this.inheritanceLinks.elementAt(i);
713     }
714     /***
715      *  Return the classes of the model
716      *
717      * @return    the classes
718      */
719     public final Vector getClasses()
720     {
721         if (this instanceof PhysicalModel)
722         {
723             return ((PhysicalModel) this).getTables();
724         }
725         else
726         {
727             Vector v = new Vector(((ConceptualModel) this).getEntities());
728             v.addAll(((ConceptualModel) this).getAssociations());
729             return v;
730         }
731     }
732     /***
733      *  Return the inheritance links, constraints, halfAssociations of the model
734      *
735      * @return    the links
736      */
737     public final Vector getLinks()
738     {
739         Vector links = new Vector();
740         if (this instanceof PhysicalModel)
741         {
742             links = new Vector(((PhysicalModel) this).getConstraints());
743         }
744         else
745         {
746             links = new Vector(((ConceptualModel) this).getAssociationLinks());
747         }
748         links.addAll(this.getInheritanceLinks());
749         return links;
750     }
751     /***
752      *  Return the labels of the model
753      *
754      * @return    the classes
755      */
756     public final Vector getLabels()
757     {
758         return labels;
759     }
760     /***
761      *  The model is saved
762      *
763      * @return    is saved
764      */
765     public final boolean isSaved()
766     {
767         return isSaved;
768     }
769     /***
770      *  The model is verified
771      *
772      * @return    is verified
773      */
774     public final boolean isVerified()
775     {
776         return isVerified;
777     }
778     /***
779      *  The model is saved
780      *
781      * @param  b  is saved
782      */
783     public final void setSaved(final boolean  b)
784     {
785         isSaved = b;
786     }
787     /***
788      *  The model is verified
789      *
790      * @param  b  is verified
791      */
792     public final void setVerified(final boolean  b)
793     {
794         isVerified = b;
795     }
796     /***
797      *  Return a reference to all the developers
798      *
799      * @return    the developers
800      */
801     public final Vector getDevelopers()
802     {
803         return developers;
804     }
805     /***
806      *  Set a reference to a dependencies vector
807      *
808      * @param  vector  the dependencies
809      */
810     public final void setDependencies(final Vector vector)
811     {
812         dependencies = vector;
813     }
814     /***
815      *  Get the Repository Connection
816      *
817      * @return    the repository connection
818      */
819     public final String getRepositoryConnection()
820     {
821         return repositoryConnection;
822     }
823     /***
824      *  Set the repository connection
825      *
826      * @param  string  the repository connection
827      */
828     public final void setRepositoryConnection(final String string)
829     {
830         repositoryConnection = string;
831     }
832     /***
833      *  Get the issue tracking url
834      *
835      * @return    the issue tracking url
836      */
837     public final String getIssueTrackingUrl()
838     {
839         return issueTrackingUrl;
840     }
841     /***
842      *  Get the repository url
843      *
844      * @return    the repository url
845      */
846     public final String getRepositoryUrl()
847     {
848         return repositoryUrl;
849     }
850     /***
851      *  Get the site adress
852      *
853      * @return    the site adress
854      */
855     public final String getSiteAdress()
856     {
857         return siteAddress;
858     }
859     /***
860      *  Get the site directory
861      *
862      * @return    the site directory
863      */
864     public final String getSiteDirectory()
865     {
866         return siteDirectory;
867     }
868     /***
869      *  set the issue tracking url
870      *
871      * @param  string  the issue tracking url
872      */
873     public final void setIssueTrackingUrl(final String string)
874     {
875         issueTrackingUrl = string;
876     }
877     /***
878      *  Set the repository url
879      *
880      * @param  string  the repository url
881      */
882     public final void setRepositoryUrl(final String string)
883     {
884         repositoryUrl = string;
885     }
886     /***
887      *  Set the site adress
888      *
889      * @param  string  the site adress
890      */
891     public final void setSiteAddress(final String string)
892     {
893         siteAddress = string;
894     }
895     /***
896      *  Set the site directory
897      *
898      * @param  string  the site directory
899      */
900     public final void setSiteDirectory(final String string)
901     {
902         siteDirectory = string;
903     }
904     /***
905      *  Get th the current version
906      *
907      * @return    the current version
908      */
909     public final String getCurrentVersion()
910     {
911         return currentVersion;
912     }
913     /***
914      *  Get the dependencies
915      *
916      * @return    the dependencies
917      */
918     public final Vector getDependencies()
919     {
920         return dependencies;
921     }
922     /***
923      *  Get the distribution directory
924      *
925      * @return    the distribution directory
926      */
927     public final String getDistributionDirectory()
928     {
929         return distributionRepository;
930     }
931     /***
932      *  Get the group id
933      *
934      * @return    the group id
935      */
936     public final String getGroupId()
937     {
938         return groupId;
939     }
940     /***
941      *  Set the current version
942      *
943      * @param  string  the current version
944      */
945     public final void setCurrentVersion(final String string)
946     {
947         currentVersion = string;
948     }
949     /***
950      *  Set the distribution directory
951      *
952      * @param  string  the distribution directory
953      */
954     public final void setDistributionDirectory(final String string)
955     {
956         distributionRepository = string;
957     }
958     /***
959      *  Set the group id
960      *
961      * @param  string  the group id
962      */
963     public final void setGroupId(final String string)
964     {
965         groupId = string;
966     }
967     /***
968      *  Get the organization logo
969      *
970      * @return    the organization logo
971      */
972     public final String getOrganizationLogo()
973     {
974         return organizationLogo;
975     }
976     /***
977      *  Get the organization name
978      *
979      * @return    the organization name
980      */
981     public final String getOrganizationName()
982     {
983         return organizationName;
984     }
985     /***
986      *  Get the organization url
987      *
988      * @return    the organization url
989      */
990     public final String getOrganizationUrl()
991     {
992         return organizationUrl;
993     }
994     /***
995      *  The organization logo
996      *
997      * @param  string  the organization logo
998      */
999     public final void setOrganizationLogo(final String string)
1000     {
1001         organizationLogo = string;
1002     }
1003     /***
1004      *  Set the organization name
1005      *
1006      * @param  string  the organization name
1007      */
1008     public final void setOrganizationName(final String string)
1009     {
1010         organizationName = string;
1011     }
1012     /***
1013      *  Set the organization name
1014      *
1015      * @param  string  the organization name
1016      */
1017     public final void setOrganizationUrl(final String string)
1018     {
1019         organizationUrl = string;
1020     }
1021     /***
1022      *  get the inception year
1023      *
1024      * @return    the inception year
1025      */
1026     public final String getInceptionYear()
1027     {
1028         return inceptionYear;
1029     }
1030     /***
1031      *  Set the inception year
1032      *
1033      * @param  string  the inception year
1034      */
1035     public final void setInceptionYear(final String string)
1036     {
1037         inceptionYear = string;
1038     }
1039     /***
1040      *  Get the logo
1041      *
1042      * @return    the logo
1043      */
1044     public final String getLogo()
1045     {
1046         return logo;
1047     }
1048     /***
1049      *  Set the logo
1050      *
1051      * @param  string  the logo
1052      */
1053     public final void setLogo(final String string)
1054     {
1055         logo = string;
1056     }
1057     /***
1058      *  Get the local directory
1059      *
1060      * @return    the local directory
1061      */
1062     public final String getLocalDirectory()
1063     {
1064         return localDirectory;
1065     }
1066     /***
1067      *  Set the local directory
1068      *
1069      * @param  string  the local direcory
1070      */
1071     public final void setLocalDirectory(final String string)
1072     {
1073         localDirectory = string;
1074     }
1075     /***
1076      *  Get the alternate project id
1077      *
1078      * @return    the alternate project id
1079      */
1080     public final String getAlternateProjectId()
1081     {
1082         return alternateProjectId;
1083     }
1084     /***
1085      *  Get the parent project
1086      *
1087      * @return    the parent project name
1088      */
1089     public final String getParentProject()
1090     {
1091         return parentProject;
1092     }
1093     /***
1094      *  Set the alternate project id
1095      *
1096      * @param  string  alternate project id
1097      */
1098     public final void setAlternateProjectId(final String string)
1099     {
1100         alternateProjectId = string;
1101     }
1102     /***
1103      *  Set the parent project id
1104      *
1105      * @param  string  the parent project id
1106      */
1107     public final void setParentProject(final String string)
1108     {
1109         parentProject = string;
1110     }
1111     /***
1112      *  Get the project properties
1113      *
1114      * @return    the project properties
1115      */
1116     public final Vector getProjectProperties()
1117     {
1118         return projectProperties;
1119     }
1120     /***
1121      *  Set( the project properties
1122      *
1123      * @param  vector  the project properties
1124      */
1125     public final void setProjectProperties(final Vector vector)
1126     {
1127         projectProperties = vector;
1128     }
1129     /***
1130      *  Get the short description
1131      *
1132      * @return    the short description
1133      */
1134     public final String getShortDescription()
1135     {
1136         return shortDescription;
1137     }
1138     /***
1139      *  Set the short description
1140      *
1141      * @param  string  the short description
1142      */
1143     public final void setShortDescription(final String string)
1144     {
1145         shortDescription = string;
1146     }
1147     /***
1148      *  Get the build
1149      *
1150      * @return    the maven's build
1151      */
1152     public final Build getBuild()
1153     {
1154         return build;
1155     }
1156     /***
1157      *  Set the build
1158      *
1159      * @param  pBuild  the build
1160      */
1161     public final void setBuild(final Build pBuild)
1162     {
1163         build = pBuild;
1164     }
1165     /***
1166      *  Get the licenses
1167      *
1168      * @return    the licenses
1169      */
1170     public final Vector getLicenses()
1171     {
1172         return licenses;
1173     }
1174     /***
1175      *  Set the licenses
1176      *
1177      * @param  vector  the licenses
1178      */
1179     public final void setLicenses(final Vector vector)
1180     {
1181         licenses = vector;
1182     }
1183     /***
1184      *  Get the contributors
1185      *
1186      * @return    the contributors
1187      */
1188     public final Vector getContributors()
1189     {
1190         return contributors;
1191     }
1192     /***
1193      *  Get the mailing list
1194      *
1195      * @return    the mailing lists
1196      */
1197     public final Vector getMailingLists()
1198     {
1199         return mailingLists;
1200     }
1201     /***
1202      *  Get the site adress
1203      *
1204      * @return    the site adress
1205      */
1206     public final String getSiteAddress()
1207     {
1208         return siteAddress;
1209     }
1210     /***
1211      *  Set the contributors
1212      *
1213      * @param  vector  the contributors
1214      */
1215     public final void setContributors(final Vector vector)
1216     {
1217         contributors = vector;
1218     }
1219     /***
1220      *  Set the mailing lists
1221      *
1222      * @param  vector  the mailing lists
1223      */
1224     public final void setMailingLists(final Vector vector)
1225     {
1226         mailingLists = vector;
1227     }
1228     /***
1229      *  Set the developers
1230      *
1231      * @param  vector  the developers
1232      */
1233     public final void setDevelopers(final Vector vector)
1234     {
1235         developers = vector;
1236     }
1237     /***
1238      *  Get the properties
1239      *
1240      * @return    the properties
1241      */
1242     public final Vector getProperties()
1243     {
1244         return properties;
1245     }
1246     /***
1247      *  Set the properties
1248      *
1249      * @param  vector  the properties
1250      */
1251     public final void setProperties(final Vector vector)
1252     {
1253         properties = vector;
1254     }
1255     /***
1256      * Get a serial number
1257      * @return instance count
1258      */
1259     public static int getCountInstance()
1260     {
1261         return countInstance;
1262     }
1263 
1264     /***
1265      * Get the redolog stack
1266      * @return the redo log
1267      */
1268     public final NORedoLog getRedoLog()
1269     {
1270         return redoLog;
1271     }
1272 }